package com.yd.tool;

import java.math.BigDecimal;

/**
 * 由于Java的简单类型不能够精确的对浮点数进行运算，这个工具类提供精 确的浮点数运算，包括加减乘除和四舍五入。
 */
public class UtsBigdeciArith { // 默认除法运算精度
	/**
	 * 加
	 * 
	 * @param d1
	 * @param d2
	 * @return
	 */
	public static BigDecimal add(BigDecimal d1, BigDecimal d2) {
		return d1.add(d2);
	}

	/**
	 * 减
	 * 
	 * @param d1
	 * @param d2
	 * @return
	 */
	public static BigDecimal sub(BigDecimal d1, BigDecimal d2) {
		return d1.subtract(d2);
	}

	/**
	 * 乘
	 * 
	 * @param d1
	 * @param d2
	 * @return
	 */
	public static BigDecimal mul(BigDecimal d1, BigDecimal d2) {
		return d1.multiply(d2);
	}

	/**
	 * 除
	 * 
	 * @param d1
	 * @param d2
	 * @return
	 */
	public static BigDecimal div(BigDecimal d1, BigDecimal d2) {
		return d1.divide(d2);
	}

	/**
	 * 比较大小//小于时返回 -1小于 //等于时返回 0等于 //大于时返回 1大于
	 * 
	 * @param d1
	 * @param d2
	 * @return
	 */
	public static int comp(BigDecimal d1, BigDecimal d2) {
		return d1.compareTo(d2);
	}

	/*
	 * 继续补充一下，用BigDecimal 写个for循环。 for (BigDecimal i = new BigDecimal("0");
	 * i.compareTo(new BigDecimal("10")) != 1; i = i.add(new BigDecimal("1"))) {
	 * System.out.print(i + "\t"); } 控制台打印的是从0 到 10
	 */

}